Remote control server,center server, and system constituted them

ABSTRACT

A system for autonomous decentralized control in which a client terminal and a center server are connected, as a network through a WAN and/or LAN, to a remote control server connected to a monitored/controlled target device through a control communication network. The system is characterized in that a virtual machine, which is described as the other self of the monitored/controlled target device having the same information as that possessed by the monitored/controlled target device, and which is a software object having communication protocols used for communication with the monitored/controlled target device and concealed in the software object, is moved in the system with transparency and/or is held in the client terminal, the center server, or the remote control server.

TECHNICAL FIELD

[0001] The present invention relates to a server, more particularly aremote control server and a center server, for monitoring/controlling atarget device under a network environment. Also, the present inventionrelates to a system constructed of those servers.

BACKGROUND ART

[0002] Hitherto, to monitor and control various industrial devices,apparatuses, etc. located in a plurality of remote positions and tocollect data measured using various measuring instruments, includingelectronic meters, it has been required to issue commands from amonitoring/control center or a data collection center to instruct anindustrial personal computer or general computer, which functions as aserver computer installed in each site and operates in accordance withprograms described in a special assembly language or the C language, tocollect monitored/controlled data and to execute a control program forcontrol of the controlled target device, etc., and to transmit theresult of device operation, the monitored measurement data, etc. to themonitoring/control center through radio wirelessly or via publictelephone lines or dedicated lines.

[0003] In such a case, the monitoring/control center has issued commandsto or has received data, etc. from the personal computers or the generalcomputers, or the various measuring instruments installed in theplurality of remote positions through individual communications usingradio or telephone connection each time an occasion requires.

[0004] Therefore, a system must have been constructed by resorting tospecialized makers, expert persons, etc., who are well skilled incommunication protocols and control programs, and software such asdedicated programs must have been developed. Those situations haveresulted in a higher system price, a lower transmission rate ofcommands, data, etc., and an increased communication cost.

DISCLOSURE OF THE INVENTION

[0005] An object of the present invention is to provide a server, moreparticularly a remote control server and a center server formonitoring/controlling a target device under a network environment.

[0006] Another object of the present invention is to provide a systemfor autonomous decentralized control, in which the center server isconnected to the remote control server.

[0007] More specifically, an object of the present invention is toprovide a server, more particularly a remote control server and a centerserver, which can perform monitoring/control of the operation, collectdata, and transmit/receive related information when connected to variousdevices or apparatuses in use, which can easily construct a system suchas for highly versatile remote monitoring/control utilizing theInternet, or for emergency communication utilizing cellular phones,radio pagers, etc. and which can more simply and flexibly construct asystem at a lower cost than conventional dedicated monitoring/controlsystems, as well as to provide a system constructed of those servers.

[0008] The present invention resides in a system for autonomousdecentralized control in which a client terminal and a center server areconnected, as a network through a WAN and/or LAN, to a remote controlserver connected to a monitored/controlled target device through acontrol communication network, the system being characterized in that avirtual machine, which is described as the other self of themonitored/controlled target device having the same information as thatpossessed by the monitored/controlled target device, and which is asoftware object having communication protocols used for communicationwith the monitored/controlled target device and concealed in thesoftware object, is moved in the system with transparency and/or is heldin the client terminal, the center server, or the remote control server.

[0009] The above expression “moved in the system with transparency”means that the virtual machine is able to seamlessly move between theinformation communication network and the control communication networkthrough rewriting of status information and control information of eachdevice into a software object (data structure having both a value andproceedings for reading/writing the value) because the virtual machinecontains a plurality of communication protocols therein.

[0010] The server, in particular the remote control server, is able tochange information of the monitored/controlled target device and/or tomonitor and control the target device by operating the virtual machine.In this case, the present invention resides in a system which cancreate, hold and/or operate a virtual machine being a software objectdescribed as the other self of a monitored/controlled target devicehaving the same information as that possessed by themonitored/controlled target device and containing a plurality ofcommunication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or which can distribute the virtual machine and can call, holdand/or operate a virtual machine created by another server, and/or whichcan change information of the monitored/controlled target device and/orcontrol the target device by operating the virtual machine.

[0011] Further, the server, in particular the remote control server, hasfunctions capable of creating, holding and/or operating an inclusivevirtual machine including setting of a plurality of virtual machinesand/or a fixed agent describing functions such as behaviors of each ofthe virtual machines, and/or including even records acquired througheach of the virtual machines, and a supervising virtual machine forsupervising a plurality of inclusive virtual machines, and/ordistributing the created inclusive and supervising virtual machines,and/or calling, holding and/or operating an inclusive virtual machineand a supervising virtual machine created by another remote controlserver. Preferably, the server can change information of each of theplurality of the monitored/controlled target devices and/or monitor andcontrol each target device by operating the inclusive virtual machinesand/or the supervising virtual machines. In this case, the presentinvention resides in a system which can call, hold and/or operate avirtual machine being a software object described as the other self of amonitored/controlled target device having the same information as thatpossessed by the monitored/controlled target device and containing aplurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or which can distribute the virtual machine, and/or which can call,hold and/or operate a virtual machine created by another remote controlserver, the server further having functions capable of creating, holdingand/or operating an inclusive virtual machine including setting of aplurality of virtual machines and/or a fixed agent describing functionssuch as behaviors of each of the virtual machines, and/or including evenrecords acquired through each of the virtual machines, and a supervisingvirtual machine for supervising a plurality of inclusive virtualmachines, and/or distributing the created inclusive and supervisingvirtual machines, and calling, holding and/or operating an inclusivevirtual machine and a supervising virtual machine created by anotherremote control server. In addition, preferably, the server can changeinformation of each of the plurality of the monitored/controlled targetdevices and/or monitor and control each target device by operating theinclusive virtual machines and/or the supervising virtual machines.

[0012] Moreover, the present invention resides in a system including acenter server connected to a communication/information network andmanaging one or more remote control servers and a system in whichmonitored/controlled target devices are all connected as a network,wherein the center server can create, hold and/or operate a virtualmachine being a software object described as the other self of eachmonitored/controlled target device having the same information as thatpossessed by the monitored/controlled target device and containing aplurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and can distribute, to one or more remote control servers, an agentdescribing behaviors, etc. of the virtual machine and/or the remotecontrol servers, the center server further having functions capable ofcreating, holding and/or operating an inclusive virtual machineincluding a plurality of virtual machines, and/or a fixed agentdescribing functions such as behaviors of each of the virtual machines,and/or even records acquired through each of the virtual machines, and asupervising virtual machine for supervising a plurality of inclusivevirtual machines, and/or distributing the created inclusive andsupervising virtual machines, and/or calling, holding and/or operatingvirtual machines, inclusive virtual machines and supervising virtualmachines created by the remote control servers. In addition, the centerserver can change information of each of the plurality of themonitored/controlled target devices and/or can monitor and control eachtarget device by sharing information in common with themonitored/controlled target devices, operating the virtual machines, theinclusive virtual machines and the supervising virtual machines, and/orby operating the agent. Through the operations described above, thecenter server performs management/processing of collected data andmanagement of the system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a schematic block diagram of hardware of a server.

[0014]FIG. 2 is a system configuration diagram showing a linkage of theserver with a client terminal and a monitored/controlled target devicewhen the server is positioned as a remote control server relative to acenter server.

[0015]FIG. 3 is an explanatory view of a server program 100 containingan OP server 110 for managing a Vm class file as an operational programthat provides information to a client or center side informationterminal (client machine and center server), and an HTTP server 120 fordistributing a Vm class of the monitored/controlled target device to theclient or center side.

[0016]FIG. 4 is an explanatory view of a Vm management table 130 for themonitored/controlled target devices (the table containing not only Vmclass numbers of the monitored/controlled target devices for remotelycontrolling each monitored/controlled target device, but also interfacenumbers corresponding to the Vm class numbers of themonitored/controlled target devices), which is possessed by the OPserver.

[0017]FIG. 5 is an explanatory view of a server program containing fieldvariables corresponding to network variables of the monitored/controlledtarget devices, information referring methods for reading the fieldvariables, and information operating methods for operating ones of thefield variables which are allowed for change or setting.

[0018]FIG. 6 is a system configuration diagram resulting whenmonitored/controlled target devices 561, 562 are newly connected to aremote control server 54 in the state of FIG. 2 for sharing informationand performing monitoring/control by using an inclusive virtual machine.

[0019]FIG. 7 is a system configuration diagram resulting whenmonitored/controlled target devices 571, 572 are also newly connected toa remote control server 55 in the state of FIG. 6 and a remote controlserver 90 is further connected for sharing information and performingmonitoring/control by using a supervising virtual machine.

[0020]FIG. 8 is an explanatory view showing a state in which the remotecontrol server 90 having an inclusive virtual machine function 901,shown in FIG. 7, calls and holds inclusive virtual machines 54Se, 55Secreated by the remote control servers 54, 55, respectively.

[0021]FIG. 9 is an explanatory view showing a state in which a centerserver 71, shown in FIG. 7, calls and holds a supervising virtualmachines 90Tc created by the remote control server 90.

[0022]FIG. 10 is an explanatory view showing a system in which themonitored/controlled target devices are monitored and controlled via aWAN and/or LAN by a center server or a client terminal, which isconnected to two servers positioned as remote control servers connectedto the monitored/-controlled target devices through controlcommunication ports.

[0023]FIG. 11 is an explanatory view showing a state in which the numberof the monitored/controlled target devices is increased from the stateof FIG. 6 for sharing information and performing monitoring/control andlinked control by using the inclusive virtual machine.

[0024]FIG. 12 is an explanatory view showing a state in which the remotecontrol server 90 is connected via a WAN and/or LAN in the state of FIG.7 for sharing information and performing monitoring/control and linkedcontrol by using the supervising virtual machine.

BEST MODE FOR CARRYING OUT THE INVENTION

[0025] The above-mentioned server of the present invention includes awireless communication device as standard, and it can also be providedwith an external communication device giving a serial communicationfunction when a communication standard is switched over from thewireless communication device to RS232C installed in the server.

[0026] The above-mentioned server of the present invention includes acontrol communication port capable of, as an occasion requires,communicating with and supplying power to the monitored/controlledtarget devices and an input/output unit, etc. in which a microcomputer,serving as a control communication LSI, or a control communicationmodule is installed. Also, the server includes an Ethernet port forcommunication using Internet protocols via a wide area network with LAN(Local Area Network) and WAN (Wide Area Network) devices.

[0027] The above-mentioned server of the present invention includes, asan occasion requires, a digital input interface that is used for themonitored/controlled target devices and is electrically isolated from aninternal system.

[0028] Also, the above-mentioned server of the present inventionincludes a serial port to which a console unit for function setting andmaintenance of the system can be connected.

[0029] Further, it is possible to protect data in a memory area in theevent of power-down with a backup battery, to record the date and timeof the power-down, and to restore to the state before the power-down atthe time of recovery.

[0030] The above-mentioned server of the present invention is able to,as an occasion requires, externally operate a software input switch anda hardware reset switch, which provide respective timing inputs forstarting software installation and maintenance to an external storage.

[0031] Moreover, the above-mentioned server of the present inventionincludes a real-time operating system and a Java run environment asstandard, and has programs for providing a client server function, anagent server function and an HTTP server function.

[0032] The above-mentioned server of the present invention has, asstandard, a PPT (Point to Point Protocol) connection function capable ofperforming data exchange and bi-directional call via public lines forthe purpose of facilitating, e.g., installation of the server in a placewhere laying-down of cables is infeasible, and connection from a mobilemedium, as an occasion requires, and also has the function of directlycontrolling the PPP connection from Java applications and executing anemergency call such as an abnormality notice.

[0033] The above-mentioned server of the present invention has the FTPfunction and the TELNET function, as an occasion requires, for transferof files and data to and from a client terminal, a center server and/oran external system. Also, the server has an environment for executingand managing Java applications under a network environment, and is ableto process digital inputs with the Java applications.

[0034] The above-mentioned server of the present invention has thefunction capable of recording, as an occasion requires, an abnormalcondition discovered by a self-diagnosis function and operating andabnormal conditions of the monitored/controlled target devices and acontrol communication network, as log messages, in a nonvolatile memoryinside the system with a system log management function, and thefunction capable of transmitting, as E-mails, an alarm message, etc. topreset places and persons.

[0035] The above-mentioned server of the present invention includes aremote station system for, as an occasion requires, causing a fixedagent to be distributed or to reside, and has monitoring functioncapable of performing information collection from and monitoring/controlof the monitored/controlled target devices, which are connected to theoutside, using virtual machines, and capable of executing processing,computations, etc. of the collected information. Stated otherwise, in apreferable form, the server of the present invention can create, holdand/or operate a virtual machine, which is a software object describedas the other self of each monitored/controlled target device having thesame information as that possessed by the monitored/controlled targetdevice and contains a plurality of communication protocols used forcommunication with the monitored/controlled target device and concealedin the software object, and/or can distribute the created virtualmachine, the server further having functions capable of creating,holding and/or operating an inclusive virtual machine including settingof a plurality of virtual machines and/or a fixed agent describingfunctions such as behaviors of each of the virtual machines, and/orincluding even records acquired through each of the virtual machines,and a supervising virtual machine for supervising a plurality ofinclusive virtual machines. In addition, the server can changeinformation of each of the plurality of the monitored/controlled targetdevices and/or monitor and control each target device by operating thevirtual machines, the inclusive virtual machines and the supervisingvirtual machine, and/or it includes a remote station system for causingthe fixed agent to be distributed or to reside, and has monitoringfunctions capable of performing information collection from andmonitoring/control of the monitored/controlled target devices, which areconnected to the outside, using the virtual machines, and capable ofexecuting processing, computations, etc. of the collected information.

[0036] The above-mentioned server of the present invention includes ascheduled operation run managing function and a device linkage controlfunction capable of, as an occasion requires, collecting/storinginformation and current values of the monitored/controlled targetdevices in accordance with a schedule registered beforehand, storingrecords of status changes of designated information, creating trendrecords of analog values at designated cycles, daily reports, monthlyreports, etc., and displaying the current values through the virtualmachines and browsing the stored data via the network.

[0037] A preferred embodiment of the present invention will be describedbelow with reference to the drawings.

[0038]FIG. 1 is a schematic block diagram of hardware of a server, andFIG. 2 is a system configuration diagram showing, by way of example, alinkage of the server with a client terminal and a monitored/controlledtarget device when the server is positioned as a remote control serverrelative to a center server.

[0039] The server of the present invention includes, as shown in FIG. 1,three serial ports 1, 2 and 3, an Ethernet (trade name registered byXEROX in U.S.A.) port 4, a microcomputer 5, an external storage 6, aclock circuit 7, an abnormality monitoring circuit 8, a backup circuit9, a digital input interface 10, an isolator 11, a control communicationport 12, a server board 13 on which the above-mentioned components aremounted, a housing 14 in which the above-mentioned components arehoused, a public line communication device 15 such as PHS (PersonalHandy-phone System) or cellular phone modem, a software input switch 16,and a hardware reset switch 17.

[0040] The serial port 1 is a port for connection of the public linecommunication device 15. For example, a mobile communication modem canbe attached to the housing 14, and the public line communication device15 can be connected to the outside when the communication standard isswitched over to RS232C. The serial port 2 is a serial port forperforming communication based on one of TR232C and RS422, which aregenerally installed as communication standards and switched over fromone to the other.

[0041] The serial port 3 is a serial port dedicated for connection of aconsole unit used for maintenance, input of software, etc.

[0042] The Ethernet port 4 serves as an interface of 10 BaseT forcommunication with the outside in accordance with the TCP/IP protocol,for example.

[0043] The microcomputer 5 is a central processing unit for executingand controlling systems, such as a real-time operating system and a Javarun environment, and applications. The external storage 6 is constitutedas, e.g., a nonvolatile memory, and stores necessary data and programs.In the event of power-down, the data in the external storage can beprotected with the backup circuit 9.

[0044] The clock circuit 7 operates independently of the microcomputer 5to provide time data and to realize an interrupt timer and aconstant-period timer which are necessary for the system's internaloperations.

[0045] The digital input interface 10 is used to directly take ininformation of the monitored/controlled target devices, etc. Theinformation is taken in through the isolator 11 that provide electricalisolation with respect to the internal system such as the microcomputer5.

[0046] The control communication port 12 is a port for communicationwith the monitored/controlled target devices using, e.g., LONWORKS(trade name registered by ECHELON in U.S.A.).

[0047] The housing 14 serves to protect the server board 12 and has acompact shape so as not to undergo limitations on, e.g., a place wherethe server is installed.

[0048] Next, FIG. 2 is a system configuration diagram showing, by way ofexample, a linkage of the server with a client terminal 52 and amonitored/controlled target device when the server is positioned as aremote control server relative to a center server 51. The center serverand the client terminal are connected to one or more remote controlservers (two remote control servers 54, 55 in an example of FIG. 2) viaa WAN and/or LAN 53. Each of the remote control servers is connected tothe monitored/controlled target device directly from the controlcommunication network when the monitored/controlled target device hasthe control communication function, and through an input/output unithaving the control communication function when it has not the controlcommunication function.

[0049]FIG. 2 shows the example in which the remote control server 54 isdirectly connected to a monitored/controlled target device 56 from acontrol communication network 59, and the remote control server 55 isconnected to a monitored/controlled target device 57 through aninput/output unit 61 from a control communication network 60.

[0050] <<Monitored/Controlled Target Device Side>>

[0051] The monitored/controlled target device is connected to thecontrol communication network. The connection is realized in the form inwhich a microcomputer, serving as a control communication LSI, or acontrol communication module is installed in the monitored/controlledtarget device, or in the form in which the monitored/controlled targetdevice is connected to an input/output unit including a microcomputer,serving as a control communication LSI, or a control communicationmodule therein.

[0052] <<Control Communication Module on Monitored/Controlled TargetDevice Side>>

[0053] The monitored/controlled target device connected to the controlcommunication network is required to include a microcomputer (e.g., aLON chip made by ECHELON), serving as a control communication LSI, or acontrol communication module therein, and/or it requires to be connectedto an input/output unit in which a microcomputer, serving as a controlcommunication LSI, or a control communication module is installed(hereinafter sometimes referred to simply as an “input/output unit”).

[0054] The term “monitored/controlled target device” used in thefollowing description also sometimes means a device that includes amicrocomputer (e.g., a LON chip made by ECHELON), serving as a controlcommunication LSI, or a control communication module therein, and/or adevice connected to an input/output unit in which a microcomputer,serving as a control communication LSI, or a control communicationmodule is installed.

[0055] Programs for the microcomputer is described using the C language(neuron C language in the LON chip made by ECHELON) that is communicablewith the Java language (Java: trade mark registered by Sun Microsystemsin U.S.A.).

[0056] Also, the microcomputer contains a control program with which themicrocomputer can control the monitored/controlled target device, and acontrol communication program having protocols with which themicrocomputer can perform data communication with the server via thecontrol communication network.

[0057] The program installed in the microcomputer for communication withthe control communication network usually has, device managementinformation, the chip ID of the monitored/controlled target device, theindex number indicating the installation position, etc., the Vm classnumber (virtual machine class number), and the Vm interface class number(virtual machine interface class number). For permitting control fromthe outside, the program also has status information that can be madeopen to the outside, and operational information allowing operation fromthe outside. Hereinafter, the virtual machine is abbreviated to Vm. Thedevice management information, the status information and theoperational information are in the form of network variables that can bereferred to via the WAN and/or the LAN, etc. A Vm class file is softwarefor operating the monitored/controlled target device, and a Vm interfaceclass file is interface software for establishing connection to themonitored/controlled target device in combination with the Vm classfile.

[0058] For example, when the monitored/controlled target device is amonitoring camera, there are machine information such as the chip ID,the Vm class number, the maker and the model, control information suchas on/off information of the camera, brightness of illumination,direction control, zoom control and sound recording, and statusinformation representing the current control status.

[0059] Those network variables differ depending on the type of themonitored/controlled target device and are set on the maker side, whilethe index number indicating the installation position, etc. can be seton the user side.

[0060] <Client Server Program>>

[0061] A client server program stored in the external storage of theserver will now be described below.

[0062] To explain briefly, the server of the present invention isconnected to the monitored/controlled target device capable ofperforming communication directly or through input/output unit withrespect to the control communication network, and contains a serverprogram having a gateway function for connection between the associatedcontrol communication network and the control communication network towhich the client machine and the center server can be connected via theWAN and/or the LAN.

[0063] The server program acquires the chip ID and the index number(specific information) for identifying the monitored/controlled targetdevice, the status information, and the operational information when themonitored/controlled target device is connected to the server from thecontrol communication network directly in the case of the target devicehaving the information communication function or through theinput/output unit connected to the control communication network in thecase of the target device not having the information communicationfunction. Also, the server program has an interface class (interfaceclass software) for providing, to the client machine (hereinaftersometimes referred to simply as a “client”) and the center server(hereinafter sometimes referred to simply as a “center”), a Vm class(monitored/controlled target device operating software) that refers toand operates the status information and the operational information ofthe monitored/controlled target device, and for establishing theconnection to the monitored/controlled target device on the server sidein combination with the Vm class, when the client or the center accessesthe server via the WAN and/or the LAN, etc.

[0064] The client server program contains an operating system program(OS) that can be processed to control hardware in the server andcorresponds to multitasking and multithreading. This OS is, e.g., ITRON,Vx-WORKS, etc.

[0065] The operating system contains various driver programs such aspublic line communication drivers for wireless and wired phones,transceivers, etc., a control communication driver, a file system and aclock driver, and an API (Application Programming Interface) for makingthose drive programs correspond to application programs.

[0066] Also, the operating system contains a remote operating systemprogram described in a distributed object oriented language (e.g., aplatform-free language such as Java).

[0067] <<Remote Operating System Program>>

[0068] The system program in the server comprises a control program forcontrolling the server itself, an agent server program for transmittingand receiving an agent, a communication program in the form of a browserfor performing network communication in accordance with TCP/IP or PPPusing wireless and wired phones, transceivers, etc., and a serverprogram 100 that fulfills a gateway function of connecting the externalWAN and/or the LAN to the control communication network.

[0069] The gateway function differs from a gateway for connecting theso-called information networks in point of seamlessly connecting theinformation communication network and the control communication networkto each other, and enables an arbitrary terminal computer in an externalnetwork, such as the Internet, to access the server for browsing andoperating the monitored/controlled target device communicated with theserver via the control communication network.

[0070] <<Server Program>>

[0071] To describe with reference to FIG. 3, the server program 100comprises an OP server 110 for managing the Vm class file (hereinafterabbreviated to a “Vm class”), which is an operating program forproviding information to an information terminal (client machine orcenter server) on the client or center side, and an HTTP server 120 fordistributing the Vm class of the monitored/controlled target device onthe client or center side.

[0072] The OP server 110 comprises a Vm management table 130 for themonitored/controlled target device, a Vm class library 140 for themonitored/controlled target device, and a Vm interface class library 150for control communication of the monitored/controlled target device.

[0073] The OP server 110 contains a monitored/controlled target devicedetecting program for detecting, from a new monitored/controlled targetdevice connected to the control communication network, the deviceinformation outputted from the target device itself or through ininput/output unit having a communication function built therein, andregistering the detected device information in the Vm management table130 for the monitored/controlled target device.

[0074] In the case of a monitoring camera Camera1, for example, themonitored/controlled target device information includes the chip ID, theindex number and the Vm class number, as shown in FIG. 4. Those items ofinformation are used to designate the monitored/controlled target deviceon the control communication network.

[0075] The Vm management table 130 collects and records therein not onlythe Vm class number of the monitored/controlled target device for remotecontrol of each monitored/controlled target device, but also theinterface number corresponding to the Vm class number of themonitored/controlled target device. With the Vm class number and theinterface class number correlated with each other in the Vm managementtable 130, the Vm class and the interface class of the interface classnumber corresponding to the Vm class can be called in a combined stateby designating the Vm class number.

[0076] The Vm class library 140 collects and records therein the Vmclass numbers and Vm classes 141-143 . . . designated by the respectiveVm class numbers.

[0077] Each of the Vm classes 141-143 contains, as shown in FIG. 5,field variables corresponding to the network variables of themonitored/controlled target device, an information referring method 170for reading those field variables, and an information operating method180 for operating ones of the field variables which are allowed tochange or set.

[0078] For example, the field variables of the monitoring camera Cameralinclude the machine information such as the chip ID, the Vm classnumber, the maker and the model, the control information such as on/offinformation of the camera, brightness of illumination, directioncontrol, zoom control and sound recording, and the status informationrepresenting the current control status.

[0079] In those field variables, varying data in the network variablesare updated at a constant period (e.g., 1000 ms). Of the fieldvariables, the index number indicating the installation position, etc.is settable by the user and is initially set to NULL.

[0080] Those field variables in the Vm class can be displayed by beingreferred to from the monitored/controlled target device with the statusreferring method, and can be set and controlled for themonitored/controlled target device with the status operation method.

[0081] Since the Vm class has controlled items and displayed itemsdifferent for each of the monitored/controlled target devices, it isdesigned and described by a maker manufacturing the monitored/controlledtarget device. Alternatively, the Vm class may be designed and describedby the client or the center after hearing the controlled items and thedisplayed items of the monitored/controlled target device from the makermanufacturing it. The Vm class can be called from a memory in themicrocomputer constituting the monitored/controlled target device or theinput/output unit. However, storing the Vm class in the computerrequires an increased memory area. Therefore, the Vm class may bedownloaded from a Vm distribution center provided on the Internetcenter, or may be read from a storage medium (e.g., an IC card, a PCIcard, a magnetic disk or a CDROM) attached to the monitored/controlledtarget device (or the input/output unit when the target device has nocommunication function).

[0082] A storage medium reader for reading a storage medium is requiredto read the Vm class from the storage medium. The storage medium readermay be built in or externally attached to the server, or it may beconnected onto the control communication network.

[0083] When the storage medium reader is connected onto the controlcommunication network, the Vm class for driving storage medium reader isinstalled in the reader itself. As an alternative, if a personalcomputer or a storage medium reader capable of performing controlcommunication is connected on the control communication network, it isalso possible to employ the connected personal computer or storagemedium reader.

[0084] The Vm interface class library 150 collects and records thereinVm interface classes 151-153 . . . for connecting the Vm classes to themonitored/-controlled target device.

[0085] The collected Vm interface classes 151-153 . . . are each in pairto the Vm class distributed to the client or center side. Upon theclient or center side designating a certain Vm class number, the Vmclass corresponding to the designated Vm class number is distributedfrom the server to the client or center side. Further, on the serverside, the Vm interface class file corresponding to the designated Vmclass number is started up, whereby the Vm class on the client or centerside and the interface class file on the server side are combined witheach other.

[0086] The Vm interface classes 151-153 . . . have the respective Vminterface class numbers. The Vm interface class numbers are in pair tothe Vm class numbers in a one-to-one relation. Upon the client or centerside designating a Vm class number, the Vm interface class numbercorresponding to the designated Vm class number is called and the Vminterface class file having the called Vm interface class number isstarted up. The Vm class file on the client or center side is combinedwith the called Vm interface class file.

[0087] Each of the Vm interface classes 151-153 . . . contain protocolsfor performing control communication with the monitored/controlledtarget devices (such as Camera 1 and so on) on the control communicationnetwork.

[0088] Since the communication protocols are located on the controlcommunication network in this case, control communication protocols areemployed. However, in the case of the communication network usingprotocols in accordance with other standards (e.g., in a communicationnetwork constituted of wireless communication or optical communication,or a communication network constituted by dedicated lines), protocolsused in the relevant communication network are employed.

[0089] The arrangement described above makes the system adaptable for avariety of monitored/controlled target devices and increasesversatility.

[0090] <<HTTP Server>>

[0091] The HTTP server 120 for providing Vm to the client or the centeris a WWW server. When the client or the center accesses the serverusing, e.g., Netscape Navigator provided by Netscape, Internet Explorerprovided by Microsoft, or any other suitable Web browser, the HTTPserver 20 distributes the Vm class to the client or the center inaccordance with the Vm class number designated by the client or thecenter.

[0092] <<Client Machine and Center Server>>

[0093] The client is any of large- and small-scaled computers, apersonal computer (PC), a mobile computer, a portable informationterminal, a cellular phone with a character display function, and otherinformation devices capable of utilizing wide area networks, which arelocated on a network.

[0094] Each of the client and the center requires a Vm operating program(hereinafter referred to simply as a “Vm application”) described in anobject oriented language for operating the Vm class in the server.

[0095] The Vm application must be equipped on the side of the client andthe center. The Vm application may be downloaded or installed to theside of the client and the center via the Internet or from a storagemedium such as a CDROM, a magnetic disk, a magnetic card or an IC card.

[0096] Before accessing the server, the URL, the Vm class number and theindex number of the server to be operated are substituted into the Vmapplication. Alternatively, the URL, the Vm class number and the indexnumber of the server and the phone number, etc. on the client side maybe fixedly set in the Vm application beforehand. Preparing such a Vmapplication is advantageous in facilitating authentication to be made onthe server side.

[0097] In the Vm application, authentication items of an operatorhimself or herself, such as a password, for accessing the server sideare put, and authentication requirements for allowing access by theoperator on the server side are set beforehand using a desiredencryption scheme. The authentication requirements may be arrangedbeforehand between the client or the center and the server to change inan unfixed form depending on the date, the lapse of a certain timeinterval, or the access place so that the server is protected againstaccess by a fictitious name of an unconcerned person.

[0098] When a user on the client or center side starts up the Vmapplication and designates the URL, the Vm number and the index numberof the server included in the Vm application, the client or the centeraccesses the server with the Web browser and receives the Vm class fromthe server side, whereupon the client or the center is connected to theobjective monitored/controlled target device through the server. The Vmclass is combined with the Vm interface class for connection to themonitored/controlled target devices (such as Cameral and so on) on thecontrol communication network. As a result, a Vm object is produced andthe current information of the monitored/controlled target device isdisplayed on the client or center side.

[0099] When the user on the client or center side instructs the end ofoperation of the monitored/controlled target device to the Vmapplication, the Vm application vanishes the Vm object on the client orcenter side, whereupon the Vm interface class on the server sidedisappears.

[0100] <<Step of Registering Monitored/Controlled Target Device>>

[0101] A step of registering the monitored/controlled target device onthe control communication network in the server will be described below.

[0102] When the monitored/controlled target device is connected to thecontrol communication network, the monitored/controlled target deviceoutputs the chip ID, the index number and the Vm class number of itselfonto the control communication network. In the case of themonitored/controlled target device having no communication functiontherein, the chip ID, the index number and the Vm class number areoutputted onto the control communication network through theinput/output unit having a communication function built therein. Usingthe monitored/controlled target device detecting program, the OP server110 acquires the chip ID, the index number and the Vm class number ofthe monitored/controlled target device connected to the controlcommunication network, and then records them in the Vm management table130.

[0103] The monitored/controlled target device detecting program in theOP server searches for the Vm class and the Vm interface classcorresponding to the acquired Vm class number. If the corresponding Vmclass and Vm interface class are not present in the Vm class library 140and the Vm interface class library 150, the OP server acquires thecorresponding Vm class and Vm interface class from the Vm distributioncenter provided on the wide-area network, such as the Internet, or fromthe maker of the monitored/controlled target device. Of course, when theVm class and the Vm interface class are recorded on a storage medium asmentioned above, the OP server acquires the Vm class and the Vminterface class from the storage medium reader.

[0104] As a result, the OP server 110 can be accessed from the client orcenter side on the WAN and/or the LAN.

[0105] <<Operation of Monitored/Controlled Target Device from Client orCenter>>

[0106] When the client or the center accesses the OP server 110 andoperates the monitored/controlled target device connected to the OPserver 110, the client or the center starts up an application for makingaccess to the OP server. Subsequent to the startup of the application,the user inputs, into the application, the URL, the Vm class number andthe index number of the OP server 110, as well as the items required forthe authentication proceedings.

[0107] After setting those items required for the accessing and theitems required for the authentication, the application makes accessesthe server.

[0108] Upon the access made from the client or the center to the server,the server performs the authentication of the client or the center.

[0109] When it is confirmed by the server's authentication that theaccess from the client or the center is allowed, the client or thecenter can make access to the OP server 110 in the server.

[0110] When the client or the center accesses the OP server 110 in theserver, the OP server 110 distributes the Vm class designated by theapplication to the client or the center, and the Vm interface classcorresponding to the Vm class distributed to the OP server 110 isstarted up.

[0111] Then, the Vm class distributed to the application in the clientor the center requests its combination with the Vm interface class inthe OP server 110, whereupon the Vm class in the client and the Vminterface class in the OP server 110 are combined with each other viathe WAN and/or the LAN. The Vm interface class provides the networkvariables of the monitored/controlled target device on the controlcommunication network to the Vm class in the client or the center,whereby the network variables are referred to and substituted in thefield variable of the Vm class. As a result, the Vm class and the Vminterface class turn to a Vm object and a Vm interface object,respectively, and the current information of the monitored/controlledtarget device on the control communication network is displayed on theclient or center side. The network variables referred to by the clientor center side change at an interval of a predetermined time, but it ispossible to refer to new network variables each time the networkvariables change because the information referring method on the clientor center side always refers to the network variables.

[0112] When the field variables are operated by the informationreferring method on the client or center side, the operation isreflected on the network variables of the monitored/controlled targetdevice through the Vm interface.

[0113] When the application is brought into an end on the client orcenter side, the Vm object in the client or the center disappears andthe Vm interface object in the OP server 110 also disappears.

[0114] With this embodiment, as described above, the information of themonitored/controlled target device on the control communication networkcan be called, referred to and operated from the client or center sideon the WAN and/or the LAN.

[0115] Further, since the Vm class is distributed from the OP server 110in the server to the client or center side by copying, there is no fearthat the Vm class on the side of the OP server 110 may be tampered. Inaddition, when the control information and the control method arechanged upon, e.g., revision or version-up of a control program of themonitored/controlled target device, the Vm class and the Vm interfaceclass of new version, for example, can be prepared at any time byupdating the Vm class in the OP server 110 from the distribution centeror the storage medium.

[0116] In this connection, the OP server 110 may periodically inquirewhether the Vm classes and the Vm interfaces in the Vm class library 140and the Vm interface class library 150 are updated to the latestversion.

[0117] Further, with a modification in which the application on theclient or center side is distributed from the OP server 110, the serveris more flexibly adapted for model change and version-up on the clientor center side, and the center and various clients can access the serverso long as the authentication is established.

[0118] Additionally, when the monitored/controlled target device isdisconnected from the control communication network, the Vm class in theVm management table 130 becomes non-active. However, when themonitored/controlled target device is connected again to the controlcommunication network, the Vm class of the monitored/controlled targetdevice in the Vm management table 130 becomes active. Thus, theconditions of communication connection among the client or the center,the server and the monitored/controlled target device are establishedmore quickly.

[0119] Furthermore, since the Vm class in the client or the center isused to just refer to the network variables of the monitored/controlledtarget device, the Vm class disappears as soon as the connection betweenthe client or the center and the server is cut off. Also, the Vm classis represented using byte code. Accordingly, it is difficult to tamperthe interface class and the network variables of themonitored/controlled target device.

[0120] <<Inclusive Virtual machine and Supervising Virtual machine>>

[0121] A description is now made of an inclusive virtual machine and asupervising virtual machine, which are used in the case of the systemincluding many monitored/controlled target devices to efficiently shareinformation in common with the respective devices, to quickly andsmoothly perform control, and to enable devices as targets of linkedcontrol to perform more appropriate linked control while mutuallyreferring to information among those devices.

[0122] The inclusive virtual machine means a virtual machine havingfunctions of setting a virtual machine for each monitored/controlledtarget device connected to the server via the control communicationnetwork and a fixed agent describing functions such as behaviors of eachvirtual machine, and/or including even records acquired through eachvirtual machine. The supervising virtual machine supervises a pluralityof inclusive virtual machines.

[0123] The following description is made with reference to the drawings.

[0124]FIG. 6 shows one example in which two monitored/controlled targetdevices 561, 562 are newly connected, via respective controlcommunication networks 591, 592, to the remote control server 54(hereinafter sometimes referred to simply as the “server 54”) that isconnected to the monitored/controlled target device 56 via the controlcommunication network 59 as shown in FIG. 2.

[0125] More specifically, a fixed agent 610 always resides in the server54, and the fixed agent 610 has a monitoring function 612 and a virtualmachine including function 611. Of these functions, the monitoringfunction 612 contains a status monitoring/recording function 613 ofmonitoring the monitored/controlled target device through each virtualmachine and of obtaining and then recording data, and a schedule/linkedcontrol function 613 of setting behaviors of each virtual machine. Also,the virtual machine including function 611 means a function of creatingan inclusive virtual machine including setting 54 of virtual machines 56a, 561 a, 562 a for the monitored/controlled target devices connected tothe server via the control communication network and of the fixed agentdescribing functions such as behaviors of each of the virtual machines,and including even records 541 acquired through each of the virtualmachines. When creating the inclusive virtual machine, the information,setting and records included therein can be restricted to ones justrequired for the center or the client. This is advantageous in reducingthe traffic amount.

[0126] When the center server 51 (hereinafter sometimes referred tosimply as the “center 51”) shares information in common with eachmonitored/controlled target device connected to the server 54 via thecontrol communication network and monitors/controls themonitored/controlled target device, the center 51 can share theinformation and monitor and control the target device by calling,holding and operating an inclusive virtual machine 54Sc created by thefixed agent 610 in the server 54. Also, when the client terminal 52shares information and operates each monitored/controlled target device,it can likewise realize the sharing and the operation by calling,holding and operating an inclusive virtual machine 54Sd created by thethe server 54.

[0127] Further, when two monitored/controlled target devices 571, 572are connected to the remote control server 55 (hereinafter sometimesreferred to simply as the “server 55”) via control communicationnetworks 601, 602, respectively, as shown in FIG. 7, the center servercan more quickly and smoothly share information in common with eachmonitored/controlled target device connected to each remote controlserver via the control communication network and can monitor and controlthe monitored/controlled target device by using a supervising virtualmachine.

[0128] More specifically, in an example of FIG. 7, a remote controlserver 90 (hereinafter sometimes referred to simply as a “server 90”) isconnected to the server 55 via a control communication network 62, whilethe servers 54 and 55 are connected to each other via a controlcommunication network 58. Further, a fixed agent 620 having the samefunctions as those of the fixed agent 610 in the server 54 alwaysresides in the server 55. In addition, the server 90 has an inclusivevirtual machine supervising function 901 for creating a supervisingvirtual machine to supervise inclusive virtual machines, each of whichhas been created by another server and has been called by and held inthe server 90.

[0129] The server 90 calls and holds the inclusive virtual machines54Se, 55Se created respectively by the servers 54, 55, and creates asupervising virtual machine 90Tc with the inclusive virtual machinesupervising function 901. The supervising virtual machine 90Tc alwaysshares information in common with the inclusive virtual machines 54Se,55Se, which have been created by the servers 54, 55 and have been calledby and held in the server 90. Also, the inclusive virtual machine 54Sealways shares information in common with the virtual machines 56 a, 561a, 562 a held in the server 54, and the inclusive virtual machine 55Sealways shares information in common with the virtual machines 57 a, 571a, 572 a held in the server 55. Further, the virtual machines 56 a, 561a, 562 a, 57 a, 571 a and 572 a always share information in common withthe respective monitored/controlled target devices. Therefore, since thesupervising virtual machine 90Tc eventually always shares information incommon with the monitored/controlled target devices connected to theservers 54, 55 via the control communication networks, the center 51 canefficiently share information in common with the respectivemonitored/controlled target devices connected to the servers 54, 55 viathe control communication networks, and can quickly and smoothly performcontrol the respective monitored/controlled target devices by calling,holding and operating the supervising virtual machine 90Tc created bythe server 90. Incidentally, when creating the supervising virtualmachine, the information, setting and records included therein can alsobe restricted to ones just required for the center or the client. Thisis similarly advantageous in reducing the traffic amount.

[0130]FIG. 8 shows a state in which the server 90 calls and holds theinclusive virtual machines 54Se, 55Se having been created respectivelyby the servers 54, 55, and FIG. 9 shows details of the supervisingvirtual machine 90Tc that is called by and held in the server 51 afterbeing created by the server 90.

[0131] When the client terminal 52 in FIG. 7 shares information incommon with the respective monitored/controlled target devices connectedto the servers 54, 55 via the control communication networks andmonitors/controls the target devices, the client terminal can likewiseperform the sharing and the monitoring/control by calling, holding andoperating a supervising virtual machine 90Td.

[0132] Thus, by utilizing the inclusive virtual machine and thesupervising virtual machine, the center can efficiently shareinformation and operate the monitored/controlled target device with noneeds of sharing information in common with the individualmonitored/controlled target devices and calling, holding and operatingthe virtual machines for the individual monitored/controlled targetdevices to be subjected to monitoring/control.

[0133] Incidentally, a step of registering the inclusive virtual machineand the supervising virtual machine is substantially the same as thestep of registering the monitored/controlled target device.

[0134] As described above, it is possible to call, hold and/or operate avirtual machine, which is a software object described as the other selfof each monitored/controlled target device having the same informationas that possessed by the monitored/controlled target device and containsa plurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or an inclusive virtual machine including setting of a plurality ofvirtual machines for the monitored/controlled target devices and of afixed agent describing functions such as behaviors of each of thevirtual machines, and/or including even records acquired through each ofthe virtual machines, and a supervising virtual machine for supervisinga plurality of inclusive virtual machines, and/or possible to distributethe virtual machines, the inclusive virtual machines and the supervisingvirtual machine. Further, it is possible to share the same informationas that possessed by the monitored/controlled target device, and tochange information of each monitored/controlled target device and/or tomonitor and control the target device by operating the correspondingvirtual machine.

[0135] <<Applications>>

[0136] Applications to the following fields are conceivable.

[0137] a. Remote monitoring, remote control and maintenance of variousdevices and apparatuses for the electrical industry.

[0138] b. Remote monitoring, remote control and maintenance of variousindustrial devices and apparatuses.

[0139] c. Remote monitoring, control and maintenance of various devices,apparatuses and facilities for agriculture and fisheries.

[0140] d. Remote equipment monitoring for buildings, dormitories,apartments, etc., and automatic inspection of meters for individualrooms.

[0141] e. Remote monitoring and remote maintenance of building equipmentsuch as regenerative air conditioners. Optimum regenerative controlthrough, e.g., distribution of operation schedules.

[0142] f. Remote control and maintenance of remote education devices.

[0143] g. Data collection, providing and processing services.

[0144] h. Monitoring system for crime and fire prevention.

[0145] i. Environment measurement and measured data automatic collectingsystem.

[0146] j. Energy-saving diagnosis data collecting system.

[0147] The following operative advantages are obtained.

[0148] (1) Because the server employs the real-time OS that is adoptedin space ships as well, high reliability is ensured. Also, because theserver is an application server, the stable operation is ensured evenwith startup of various user applications.

[0149] Further, a development environment with a shorter lead time usingJava can be provided, and efficient system construction can be achieved.

[0150] (2) Due to very high resistance against weather and environments,stable 24-hour operation is realized.

[0151] (3) The WAN and/or LAN can be advantageously utilized. Also,wide-range support is realized with the control communication function.

[0152] Communication charge can be reduced by utilizing the Internetnetwork, and the control communication network, such as the PHS andcellular phones, can be used in areas where wired lines are notinstalled. The system can be hence constructed in a wider area thanconventional systems.

[0153] (4) When the virtual machine is operated on any computerconnected to the network, it always shares the same information as thatpossessed by the actual virtual machine, management of a device in aremote place can be realized by operating and managing the virtualmachine on hand.

[0154] Also, because the virtual machine can be utilized as a softwarepart in development of software, an advanced monitoring/control systemcan be constructed without knowledge regarding data communications andmeasurement control.

[0155] Further, because change of the system, setting of variousparameters, etc. can be performed via the network, the frequency ofreplacement of devices and the frequency at which engineers mustactually go to sites are reduced. The maintenance cost is hence cutdown.

[0156] (5) The communication charge can be reduced by utilizing thetransceiver mode.

[0157] (6) Because the remote control server autonomously performcontrol, an influence upon the site is small even when the center goesdown. Also, because a notice is sent only in the event of abnormalityand information is communicated just when an occasion requires, thecommunication charge is cut down.

[0158] (7) Even when there are a plurality of monitored/controlledtarget devices and makers of those target devices differ from eachother, the status information and the control information for eachtarget device can be viewed, operated and managed with the correspondingvirtual machine displayed on the client terminal at hand or the centerserver.

[0159] Details of the present invention will be described in connectionwith examples. It is to be noted that the present invention is in no waylimited by the following examples.

EXAMPLES

[0160] <<Outline of the Invention>>

[0161] A remote control server of the present invention has a dataserver function of integrating monitored/controlled target devices on acontrol communication network and providing monitoring/control data,etc. to an information system, and various application server functionscapable of executing processes for fields on demand in response to arequest from the information system.

[0162] Also, the remote control server of the present invention servesalso as an application server, and therefore stability and reliabilityof software are ensured, for example, in point of that the stableoperation is ensured even with startup of various user applications.

[0163] Further, the remote control server of the present invention hasresistance against environments enough to operate 24 hours under such asevere environment as outdoor, and has a small size suitably adapted fora site space.

[0164] Next, features of the remote control server in terms of hardwarewill be described.

[0165] The remote control server of the present invention includes apublic line communication device (e.g., a communication device such as awired or wireless phone) as standard, and it can also be provided withan external communication device (such as a modem) giving a serialcommunication function when a communication standard is switched over toRS232C.

[0166] Also, the remote control server of the present invention has anEthernet port for communication with a system connected to anothermedium, such as a client computer, and includes, e.g., LONWORKS providedby ECHELON for communication with the monitored/controlled target deviceand the input/output unit. In addition, the remote control server has aserial communication port (capable of switching between RS232C andRS422) for communication with a device having a serial communicationinterface. Thus, the remote control server includes various connectiondevices enabling both information and control communications to beperformed.

[0167] The remote control server of the present invention has a digitalinput (DI; one point) capable of directly collecting data from themonitored/controlled target device, and also has a RS232C port as aconnection interface dedicated for a maintenance control.

[0168] The remote control server of the present invention can supplyelectric power from a control communication port to themonitored/controlled target device and the input/output unit. Inaddition, the remote control server has the function capable ofprotecting data in a memory area in the event of power-down andrecording the date and time of the power-down, and includes a softwareinput switch, a hardware reset switch, etc., which provide respectivetiming inputs for starting software installation and maintenance to anexternal storage.

[0169] Next, features of the remote control server from the viewpoint ofsoftware function will be described.

[0170] The remote control server of the present invention includes areal-time OS (such as ITRON or Vx-WORKS), and performs management of themonitored/controlled target device on the control communication network.Also, it has a client server function of linking the controlcommunication network and the information communication network witheach other, an agent server function capable of installing a stationaryagent, etc., and an HTTP server function capable of transmitting andreceiving information in the form of an HTML file through the WWWsystem. Further, the remote control server includes, as standard, anenvironment operating under the Java run environment, and realizesinstallation of the Java run environment with a small-capacity resource.

[0171] Moreover, the remote control server has a PPT (Point to PointProtocol) connection function necessary for connection to the publicline network such as the PHS and the modem, and has the function capableof performing data exchange using wireless phones, e.g., the PHS, viapublic lines and the function being effective to construct a system in aplace where laying-down of cables is infeasible and to realizeconnection to a mobile medium. Further, by connecting a router to theEthernet, data exchange with an external system can be made, andbi-directional call from the remote control server to a personalcomputer (client mode) and from the personal computer to the server canbe realized. Since the PPP connection can be controlled from Javaapplications, it is possible to issue, e.g., an emergency call for analarm notice.

[0172] The remote control server has the FTP function and the TELNETfunction for transfer of files and data to and from a client terminal, acenter server and/or an external system. Also, the remote control serverhas an environment for executing and managing Java applications under anetwork environment, and is able to process digital inputs with the Javaapplications.

[0173] In addition, the remote control server can record log messages ina nonvolatile memory located in the server with a system log managementfunction, and has a mail transmitting function capable of communicatingwith a system managing person, a device managing person, etc. bytransmitting, as electronic mails, an alarm message, etc.

[0174] As a monitoring function, a remote station system makes a fixedagent reside on the server, and performs information collection from andmonitoring/control of the monitored/controlled target devices. Also, theserver can process and compute the collected information. By including,for example, a billing algorithm beforehand, the usage charge of themonitored/controlled target device can be calculated based on the numberof times of usages, the power supply time, the amount of electricityused, etc. of the target device.

[0175] Those functions are described below in detail. First, the remotecontrol server can collect and store information of the variousmonitored/controlled target devices in accordance with a registeredschedule. The agent collects information directly from themonitored/controlled target devices or through input/output units.Further, the server stores records of status changes at a designatedpoint, stores analog values (trend records) at designated cycles, andcreates daily reports, monthly reports, etc.

[0176] The server can notify information and current values of themonitored/controlled target devices in response to requests from theclient and the center, can display the current values through thevirtual machines, and can browse the stored data via the network. Bytransferring files and data to another server, etc. in an externalsystem using the FTP function, it is possible even for the externalsystem side to accumulate the data and to perform management, storage, abilling process, etc. on the accumulated data by batch operations.Further, it is possible to execute a close and statistical data analysisfor a long period.

[0177] When an abnormality occurs in the various monitored/controlledtarget devices, the server can inform the occurrence of an abnormalityto a preset monitoring place. For example, when an analog value reachesan abnormal level in the event of a device abnormality or beyond upperand lower limit setting values, an alarm can be transmitted in the formof an E-mail.

[0178] Further, the server can perform operation control in accordancewith setting details preset for each of the monitored/controlled targetdevices by utilizing, as a trigger, a factor such as a device status(on/off), an information change, and timer setting time.

[0179] The scheduled operation function is a function of performingautomatic start/stop control (device on/off) in accordance with a timeschedule set for each of various equipment and devices. A “schedulepattern” has a schedule in units of week and enables the operation timeto be set for each day of the week. The start/stop time can be set inunits of minute from 0 hour to 24 hours for each day to designate thetime zone (indicated by the time of day) during which the operation isto be performed. The number of times of on/off switching per day can beregistered based on the setting of the on/off time.

[0180] The device linkage operation can be performed by, depending onthe operational status of a linked device (linkage source), makingon/off control of a target device (linkage destination) in accordancewith information defined in setting for registration of the linkeddevices.

[0181] An on/off condition and an AND/OR condition can be set asconditions for the linkage source, and an on/off condition can be set asconditions for the linkage destination.

[0182] Further, since the fixed agent has the virtual machine includingfunction, it is possible to set a plurality of virtual machines for themonitored/controlled target devices and a fixed agent describingfunctions such as behaviors of each of the virtual machines, and/or tocreate, hold, operate and/or distribute an inclusive virtual machineincluding even records acquired through each of the virtual machines.

[0183] Moreover, when the fixed agent has the inclusive virtual machinesupervising function, it is possible to call, hold and/or operate asupervising virtual machine for supervising a plurality of inclusivevirtual machines, and/or to distribute the supervising virtual machine.

[0184] By using the inclusive virtual machines and the supervisingvirtual machine, it is possible to quickly and smoothly share andcontrol information, and to efficiently perform linked control among avariety of devices, when the number of devices to be controlled isincreased to a large extent and the devices are monitored/controlledamong many offices.

[0185] The remote control server of the present invention has thefollowing features.

[0186] (1) The remote control server employs Vx-WORKS as the real-timeOS. Also, the server includes, as standard software, a Java runenvironment with a small-capacity resource.

[0187] (2) Due to very high resistance against weather and environments,24-hour operation is realized.

[0188] (3) The remote control server includes, as standard, the publicline communication function such as the PHS and cellular phones. It alsoincludes, as an extension port, an Ethernet port for communication withan external system. Further, it employs LONWORKS for controlcommunication. As other communication ports, it includes a 2-port serialline and a digital input interface for monitoring external devices.

[0189] (4) The remote control server has the function of creating,holding and distributing a virtual machine (pure software object withJava) that always holds the same information as that possessed by anactual device/apparatus located at a remote position.

[0190] (5) When there are a large number of monitored/controlled targetdevices and the number of devices to be monitored/controlled isincreased to a large extent, the remote control server has the functionof creating, holding and/or operating an inclusive virtual machineincluding setting of a plurality of virtual machines and a fixed agentdescribing functions such as behaviors of each of themonitored/controlled target devices, and including even records acquiredthrough each of the virtual machines, and a supervising virtual machinefor supervising a plurality of inclusive virtual machines. By browsingand operating the information of the inclusive virtual machines and thesupervising virtual machine, it is possible to quickly and smoothlymonitor and control many monitored/controlled target devices, and toefficiently perform linked control in a variety of forms.

[0191] (6) The client and the center can access the remote controlserver via the WAN and/or LAN and can always share information in commonwith the virtual machines for the monitored/controlled target devices soas to display the monitored/controlled data and input control commandsto the virtual machines held in the client and the center. Hence, theclient and the center are given with the function capable of controllingthe monitored/controlled target devices from them.

[0192] (7) A client computer installed in a monitoring/control center, adata collection center, or the like is given with the function capableof distributing an agent via the network and causing the agent to accessthe virtual machine, which always shares information in common with themonitored/controlled target device to be controlled, and to operate thevirtual machine, thereby controlling the monitored/controlled targetdevice.

[0193] (8) The remote control server can directly receive and holdcommands and agents distributed from the client and the center via thenetwork. By deciding a key remote control server and a distributionroute in advance, the function of cyclical distribution can be realizedwith the use of PHS lines or the PHS transceiver mode.

[0194] (9) By making the fixed agent always reside, the remote controlserver can collect and store data in accordance with a registeredschedule, can execute data processing such as a billing process, and canstore the processed data. Also, the server can distribute data to theclient and the center in response to a request from an externalcommunication device, and can autonomously inform abnormal data if itoccurs. Thus, the individual remote control servers have functions ofperforming monitoring/control in an autonomous and decentralized manner,and executing collection, processing and distribution of data.

[0195] (10) The remote control server can receive an agent transmittedfrom the client terminal or the center server and including an algorithmto change behaviors of the monitored/controlled target device, hold theagent in an external storage, and operate the agent for changing thebehaviors of the monitored/controlled target device. It is also possibleto change the behaviors of the monitored/controlled target device byoperating the virtual machine, the inclusive virtual machine and thesupervising virtual machine, which are held in the remote controlserver, and then changing control information such as setting values.

[0196] The center server according to the present invention has thefollowing features.

[0197] (1) The center server has the function of creating, holding anddistributing a virtual machine (pure software object with Java) thatalways holds the same information as that possessed by an actualdevice/apparatus located at a remote position.

[0198] (2) The center server has the function of creating, holding,operating and/or distributing an inclusive virtual machine includingsetting of a plurality of virtual machines and a fixed agent describingfunctions such as behaviors of each of the monitored/controlled targetdevices, and including even records acquired through each of the virtualmachines, and a supervising virtual machine for supervising a pluralityof inclusive virtual machines.

[0199] (3) The center server has the function of always sharinginformation, via the WAN and/or LAN, in common with the virtual machinesfor the monitored/controlled target devices, the inclusive virtualmachines, and the supervising virtual machine, which are held in theremote control server, so as to display the monitored/controlled data,and of controlling the monitored/controlled target devices by inputtingcontrol commands to the virtual machines held in the center server.

[0200] (4) The center server installed in a monitoring/control center, adata collection center, or the like can distribute an agent via thenetwork, access the virtual machine that always shares information incommon with the monitored/controlled target device to be controlled, andoperate the virtual machine, thereby controlling themonitored/controlled target device.

[0201] (5) Commands and agents distributed from the center server can bedirectly transmitted to the remote control server via the network. Bydeciding a key remote control server and a distribution route inadvance, the function of cyclical distribution can be realized with theuse of PHS lines or the PHS transceiver mode.

[0202] (6) The records not only collected through the virtual machinesand stored in, but also processed and stored in the fixed agent held onthe remote control server can be transmitted to the center server inresponse to commands from the center server. The center server can storeand process (including billing process) the transmitted records.

[0203] (7) The center server can transmit an agent including analgorithm for the monitored/controlled target device to the remotecontrol server, and the remote control server can receive and hold thetransmitted agent in an external storage, and then operate the agent forchanging the behaviors of the monitored/controlled target device. It isalso possible to change the behaviors of the monitored/controlled targetdevice in the site, without actually going to the site, by operating thesettings included in the virtual machine, the inclusive virtual machineor the supervising virtual machine to specify the behaviors of thetarget device.

[0204] (8) The billing and charging process for each of themonitored/controlled target devices can be more quickly and easilyperformed by transmitting a command from the center server to the remotecontrol server, causing the records held in the remote control server tobe sent to the center server, and receiving, holding and converting thereceived records into billing information in the center server.

[0205] (9) In a system in which the center server is connected via theWAN and/or LAN to one or more remote control servers, each of which isconnected to one or more monitored/controlled target devices viarespective control communication networks, it is possible to performsystem management such as time synchronization, agent management,service application management, and collected data management.

[0206] <Description of Example with Reference to Drawings>>

[0207] An example of the present invention will be described below withreference to FIG. 10. FIG. 10 shows a system example in which a clientterminal and a center server are connected via a WAN and/or LAN to oneor more servers, which are positioned as remote control serversconnected to the monitored/controlled target devices through controlcommunication ports (two remote control servers in the example of FIG.10), and the monitored/controlled target devices aremonitored/controlled by the center server or the client terminal.

[0208] More specifically, a center server 51 and a client terminal 52are connected to remote control servers 54, 55 via a WAN and/or LAN 53.The remote control server 54 is connected to a monitored/controlledtarget device 56 having a control communication function via a controlcommunication network 59. Since a monitored/controlled target device 57has not the control communication function, the remote control server 55is connected to the monitored/controlled target device 57 from a controlcommunication network 60 through an input/output unit 61 having thecontrol communication function. Further, the remote control servers 54,55 are connected via an information communication network 58 (Ethernetin this example).

[0209] In this example, the control communication between themonitored/controlled target device and the remote control server isperformed using LONWORKS (trade name registered by ECHELON in U.S.A.).

[0210] The remote control server 54 collects the latest data from themonitored/controlled target device 56 connected to the controlcommunication network 59, and holds a virtual machine 56 a for themonitored/controlled target device 56. Likewise, the remote controlserver 55 collects the latest data from the monitored/controlled targetdevice 57 through the input/output unit 61 connected to the controlcommunication network 60, and holds a virtual machine 57 a for themonitored/controlled target device 57.

[0211] On the other hand, the center server 51 holds in itself a virtualmachine 56 c that always shares information via the WAN and/or LAN 53 incommon with the virtual machine 56 a for the monitored/controlled targetdevice 56, which is held in the remote control server 54. The centerserver 51 also holds in itself a virtual machine 57 c that always sharesinformation via the WAN and/or LAN 53 in common with the virtual machine57 a for the monitored/controlled target device 57, which is held in theremote control server 55.

[0212] Similarly, the client terminal 52 holds in itself virtualmachines 56 d, 57 d that always share information in common with thevirtual machines 56 a, 57 a for the monitored/controlled target devices56, 57.

[0213] Further, the remote control server 55 holds the virtual machine56 b that always shares information in common with the virtual machine56 a for the monitored/controlled target device 56 connected to theremote control server 54. The remote control server 55 holds the virtualmachine 57 b that always shares information in common with the virtualmachine 57 a for the monitored/controlled target device 57 connected tothe remote control server 55 through the input/output unit 61.

[0214] Because the virtual machines held in the center server 51 and theclient terminal 52 always share information in common with the virtualmachine held in the remote control servers 54, 55, the center server 51and the client terminal 52 always share information in common with themonitored/controlled target devices 56, 57 and hence can display thecurrent information of the monitored/controlled target devices 56, 57.

[0215] When controlling the monitored/controlled target device 56 fromthe center server 51, control information of the virtual machine 56 afor the monitored/controlled target device 56, which is held in theremote control server 54, is written by operating the virtual machine 56c that always shares information in common with the monitored/controlledtarget device 56 held in the center server 51. Also, since the remotecontrol server 54 always shares information in common with themonitored/controlled target device 56, the monitored/controlled targetdevice 56 is also controlled. The controlled result is sent back to thecenter server 51 in a flow reversal to that described above.

[0216] Control of the monitored/controlled target device 56 connected tothe remote control server 54 via the control communication network 59 isalso performed from the client terminal 52 in a similar manner.

[0217] Next, a description is made of the case of performing linkedcontrol between the monitored/controlled target devices 56 and 57 whichare connected respectively to the remote control servers 54, 55 via thecontrol communication networks 59, 60.

[0218] In this case, the remote control server 55 includes a fixedagent, which always resides therein and is inputted in advance so as tocontrol the monitored/controlled target device 56 if there is anabnormality in the monitored/controlled target device 57.

[0219] When the remote control server 55 detects, e.g., an abnormalityof the monitored/controlled target device 57 and controls themonitored/controlled target device 56 as a linked target device,abnormal information of the monitored/controlled target device 57 isfirst detected by the remote control server 55 via the controlcommunication network 60 through the input/output unit 61, whereupon theinformation of the virtual machine 57 a for the monitored/controlledtarget device 57 is changed.

[0220] Upon a change in information of the virtual machine 57 a for themonitored/controlled target device 57, the fixed agent held in theremote control server 55 is started up and operates the virtual machine56 b, which always shares information in common with the virtual machine56 a for the monitored/controlled target device 56 held in the remotecontrol server 54, for the purpose of operating the monitored/controlledtarget device 56 set as a linkage destination in advance. Upon a changein information of the virtual machine 56 b held in the remote controlserver 55, the information of the virtual machine 56 a is changedbecause the virtual machine 56 a held in the remote control server 54always shares information in common with the virtual machine 56 b.Correspondingly, the monitored/controlled target device 56 is controlledbecause the virtual machine 56 a always shares information in commonwith the monitored/controlled target device 56.

[0221] On the other hand, since the virtual machines 56 c, 57 c held inthe center server 51 and the virtual machines 56 d, 57 d held in theclient terminal 52 always respectively share information in common withthe virtual machines 56 a, 57 a for the monitored/controlled targetdevices 56, 57 held in the remote control servers 54, 55, the result ofthe linked control is also reflected on the center server 51 and theclient terminal 52.

[0222] Looking at a series of the above-mentioned operational flow fromthe outside, it appears that, just by operating the virtual machinesheld in the center server 51 and the client terminal 52, the virtualmachines are each moved through the WAN and/or LAN 53 with networktransparency and control the monitored/controlled target devices.

[0223] As a more practical application example, the case of performing abilling process for each of the monitored/controlled target devices willbe described below with reference to FIG. 10.

[0224] The remote control server 54 obtains various data of themonitored/controlled target device 56, such as the number of times ofusages, the power supply time, the amount of electricity used, statusinformation, and operating information, through the virtual machine 56 afor the monitored/controlled target device 56, and stores the data in anexternal storage associated with the remote control server 54. Likewise,the remote control server 55 obtains various data of themonitored/controlled target device 57 through the virtual machine 57 afor the monitored/controlled target device 57, and stores the data in anexternal storage associated with the remote control server 55.

[0225] In response to a command from the center server 51, and/or whenfixed agents always residing in the remote control servers 54, 55 areeach operated at the preset timing (e.g., a.m. 0:00 per day), the remotecontrol servers 54, 55 transmit, to the center server 51, the variousdata of the monitored/controlled target devices 56, 57 stored in therespective external storages associated with the remote control servers54, 55. Upon receiving the various data transmitted from the remotecontrol servers 54, 55, a processing unit in the center server 51converts the received data into data for billing for each of themonitored/controlled target devices and stores the converted data in astorage in the center server 51. Then, based on preset parameters (suchas the number of times of usages and the amount of electricity used) andalgorithm, the processing unit in the center server 51 calculates theusage charge for each of the monitored/controlled target devices, storesthe calculated charge in the storage in the center server 51, andactuates a linkage to perform a paying process such as debiting onaccount opened in a financial institution.

[0226] When an agent containing an algorithm to execute the billingprocess is installed to always reside in each of the remote controlservers 54, 55, the remote control servers 54, 55 execute the billingprocess based on the data of the monitored/controlled target devices 56,57, which are stored in the respective external storages, and store theresulted charges in the respective external storages. Then, in responseto a command transmitted from the center server 51 to the remote controlservers 54, 55, and/or when fixed agents always residing in the remotecontrol servers 54, 55 are each operated at the preset timing (e.g.,a.m. 0:00 per day), the billing information held in the remote controlservers 54, 55 is transmitted to the center server 51. The center server51 receives the transmitted billing information, stores the receivedinformation in its storage, and actuates a linkage to perform a payingprocess such as debiting on account opened in a financial institution.As a result, the load imposed on the center server can be reduced.

[0227] Finally, a method of quickly and efficiently performingmonitoring and control by utilizing an inclusive virtual machine in thecase, in which the number of target devices capable of beingmonitored/controlled by one remote is, e.g., hundred and tens and thetotal number of actually monitored/controlled target devices amounts tothe order from several hundreds to several thousands, will be describedbelow with reference to FIG. 11. As with the example of FIG. 10, thisexample also employs LONWORKS as a control communication network forconnecting the remote control server and the monitored/controlled targetdevice to each other.

[0228] More specifically, a center server 51 and a client terminal 52are connected to remote control servers 54, 55, 65 via a WAN and/or LAN53. The remote control server 54 is connected to a monitored/controlledtarget device 56 having a control communication function via a controlcommunication network 59, to a monitored/controlled target device 561via a control communication network 591, and to a monitored/controlledtarget device 562 via a control communication network 592. Since amonitored/controlled target device 57 has not the control communicationfunction, the remote control server 55 is connected to themonitored/controlled target device 57 from a control communicationnetwork 60 through an input/output unit 61 having the controlcommunication function. Further, the remote control server 55 isconnected to a monitored/controlled target device 571 via a controlcommunication network 601 and to a monitored/controlled target device572 via a control communication network 602.

[0229] In addition, since a monitored/controlled target device 650 hasnot the control communication function, the remote control server 65 isconnected to the monitored/controlled target device 650 from a controlcommunication network 640 through an input/output unit 64 having thecontrol communication function. Moreover, the remote control server 65is connected to a monitored/controlled target device 651 via a controlcommunication network 605 and to a monitored/controlled target device652 via a control communication network 606.

[0230] The remote control server 54 creates and holds the virtualmachine 56 a for the monitored/controlled target device 56 on thecontrol communication network 59, collects the latest data through thevirtual machine 56 a, and shares information in common with themonitored/controlled target device 56. Also, the remote control server54 creates and holds the virtual machine 561 a for themonitored/controlled target device 561 on the control communicationnetwork 591, collects the latest data through the virtual machine 56 a,and shares information in common with the monitored/controlled targetdevice 561. Likewise, the remote control server 54 creates and holds thevirtual machine 562 a for the monitored/controlled target device 562 onthe control communication network 592, collects the latest data throughthe virtual machine 562 a, and shares information in common with themonitored/controlled target device 562.

[0231] The remote control server 55 similarly collects the latest datathrough the virtual machines 57 a, 571 a and 572 a for themonitored/controlled target devices 57, 571 and 572 connected to theremote control server 55 via the control communication networks 60, 601and 602, respectively, and shares information in common with themonitored/controlled target devices 57, 571 and 572.

[0232] Further, the remote control server 65 similarly collects thelatest data through the virtual machines 650 a, 651 a and 652 a for themonitored/controlled target devices 650, 651 and 652, respectively, andshares information in common with the monitored/controlled targetdevices 650, 651 and 652.

[0233] On the other hand, the fixed agent 610 having both a monitoringfunction, including a status monitoring/recording function and aschedule/linked control function, and a virtual machine includingfunction always resides in the remote control server 54. Likewise, thefixed agent 620 having the same functions as those of the fixed agent610 in the remote control server 54 always resides in the remote controlserver 55. Also likewise, the fixed agent 630 having the same functionsas those of the fixed agent 610 always residing in the remote controlserver 54 always resides in the remote control server 65.

[0234] Based on the virtual machine including function of the fixedagent 610, the remote control server 54 can create, hold, operate anddistribute an inclusive virtual machine including setting of the virtualmachines 56 a, 561 a and 562 a for the monitored/controlled targetdevices 56, 561 and 562 connected to the remote control server 54 viathe respective control communication networks and setting of theschedule/linked control function contained in the fixed agent 610 anddescribing the functions, such as behaviors, of those virtual machines,and including even records acquired through the virtual machines withthe status monitoring/recording function contained in the fixed agent610.

[0235] Also, based on the virtual machine including function of thefixed agent 620, the remote control server 55 can create, hold, operateand distribute an inclusive virtual machine including the setting of thevirtual machines 57 a, 571 a and 572 a for the monitored/controlledtarget devices 57, 571 and 572 connected to the remote control server 55via the respective control communication networks and setting of theschedule/linked control function contained in the fixed agent 620 anddescribing the functions, such as behaviors, of those virtual machines,and including even records acquired through the virtual machines withthe status monitoring/-recording function contained in the fixed agent610.

[0236] Further, based on the virtual machine including function of thefixed agent 630, the remote control server 65 can create, hold, operateand distribute an inclusive virtual machine including setting of thevirtual machines 650 a, 651 a and 652 a for the monitored/controlledtarget devices 56, 561 and 562 connected to the remote control server 65via the respective control communication networks and setting of theschedule/linked control function contained in the fixed agent 630 anddescribing the functions, such as behaviors, of those virtual machines,and including even records acquired through the virtual machines withthe status monitoring/recording function contained in the fixed agent630.

[0237] In the above-described arrangement, the center server 51 having acollected data management function 511, an agent management function512, a service information management function 513, a system managementfunction 514, and a man-machine monitoring function 515 calls and holdsan inclusive virtual machine 54Sc created by the fixed agent 610 in theremote control server 54. Likewise, the center server 51 calls and holdsan inclusive virtual machine 55Sc created by the fixed agent 620 in theremote control server 55, and an inclusive virtual machine 65Sc createdby the fixed agent 630 in the remote control server 65.

[0238] At this time, the inclusive virtual machine 54Sc held in thecenter server 51 always shares information in common with the virtualmachines 56 a, 561 a and 562 a in the remote control server 54, whichare created by the fixed agent 610 in the remote control server 54 forthe monitored/controlled target devices 56, 561 and 562 connected to theremote control server 54 via the control communication networks 59, 591and 592, respectively.

[0239] Similarly, the inclusive virtual machine 55Sc held in the centerserver 51 always shares information in common with the virtual machines57 a, 571 a and 572 a in the remote control server 55, which are createdby the fixed agent 620 in the remote control server 55 for themonitored/controlled target devices 57, 571 and 572 connected to theremote control server 55 via the control communication networks 60, 601and 602, respectively.

[0240] Furthermore, the inclusive virtual machine 65Sc held in thecenter server 51 always shares information in common with the virtualmachines 650 a, 651 a and 652 a in the remote control server 65, whichare created by the fixed agent 630 in the remote control server 65 forthe monitored/controlled target devices 650, 651 and 652 connected tothe remote control server 65 via the control communication networks 604,605 and 606, respectively.

[0241] The client terminal 52 also includes respective virtual machinesin similar arrangement, and therefore a detailed description thereof isomitted here.

[0242] In addition, the remote control server 54 calls and holds aninclusive virtual machine 55Sb created by the fixed agent 620 in theremote control server 55, and an inclusive virtual machine 65Sb createdby the fixed agent 630 in the remote control server 65.

[0243] Similarly, the remote control server 55 calls and holds aninclusive virtual machine 54Sb created by the fixed agent 610 in theremote control server 54, and an inclusive virtual machine 65Sm createdby the fixed agent 630 in the remote control server 65. Moreover, theremote control server 65 calls and holds an inclusive virtual machine54Sm created by the fixed agent 610 in the remote control server 54, andan inclusive virtual machine 55Sm created by the fixed agent 620 in theremote control server 55.

[0244] In the above arrangement, the inclusive virtual machine 55Sb heldin the remote control server 54 and created by the fixed agent 620 inthe remote control server 55 always shares information in common withthe virtual machines 57 a, 571 a and 572 a, which are held in the remotecontrol server 55 for the monitored/controlled target devices 57, 571and 572 connected to the remote control server 55 via the controlcommunication networks 60, 601 and 602, respectively. Likewise, theinclusive virtual machine 65Sb held in the remote control server 54 andcreated by the fixed agent 630 in the remote control server 65 alwaysshares information in common with the virtual machines 650 a, 651 a and652 a, which are held in the remote control server 65 for themonitored/controlled target devices 650, 651 and 652 connected to theremote control server 65 via the control communication networks 604, 605and 606, respectively.

[0245] Similarly, the inclusive virtual machine 54Sb held in the remotecontrol server 55 always shares information in common with the virtualmachines 56 a, 561 a and 562 a for the monitored/controlled targetdevices 56, 561 and 562 connected to the remote control server 54 viathe control communication networks 59, 591 and 592, respectively, andthe inclusive virtual machine 65Sm held in the remote control server 55always shares information in common with the virtual machines 650 a, 651a and 652 a for the monitored/controlled target devices 650, 651 and 652connected to the remote control server 65 via the control communicationnetworks 604, 605 and 606, respectively. In addition, the inclusivevirtual machine 54Sm held in the remote control server 65 always sharesinformation in common with the virtual machines 56 a, 561 a and 562 afor the monitored/controlled target devices 56, 561 and 562 connected tothe remote control server 54 via the control communication networks 59,591 and 592, respectively, and the inclusive virtual machine 55Sm heldin the remote control server 65 always shares information in common withthe virtual machines 57 a, 571 a and 572 a for the monitored/controlledtarget devices 60, 601 and 602 connected to the remote control server 55via the control communication networks 60, 601 and 602, respectively.

[0246] Thus, the remote control servers 54, 55 and 65 connected to thecenter server 51 via the WAN and/or LAN 53 share information in commonby utilizing the inclusive virtual machines that can be created, held,called and distributed by the remote control servers.

[0247] In the case of controlling the monitored/controlled target device56 from the center server 51, by operating the inclusive virtual machine54Sc held in the center server 51 and sharing information in common withthe monitored/controlled target device 56, the information is rewrittenbecause the inclusive virtual machine 54Sc always shares information incommon with the virtual machine 56 a for the monitored/controlled targetdevice 56 held in the remote control server 54, as described above. Uponrewriting of the information of the virtual machine 56 a, theinformation of the monitored/controlled target device 56 is rewrittenand controlled because the virtual machine 56 a always sharesinformation in common with the monitored/controlled target device 56.The control result is sent back to the center server 51 through a flowreversal to the above-described flow.

[0248] The above description is similarly applied to not only the casesof controlling the monitored/controlled target devices 561, 562, 57,571, 572, 650, 651 and 652 from the center server 51 by using theinclusive virtual machines 54Sc, 55Sc and 65Sc, but also the cases ofcontrolling the monitored/controlled target devices 56, 561, 562, 57,571, 572, 650, 651 and 652, which are connected to the remote controlservers 54, 55 and 56 via the respective control communication networks,from the client terminal 52 by using the inclusive virtual machines54Sd, 55Sd and 65Sd. The control results are also sent back to theremote control servers from the center server and the client terminal.

[0249] A description is now made of the case of performing linkedcontrol between the monitored/controlled target devices 56 and 57 whichare connected respectively to the remote control servers 54, 55 via thecontrol communication networks 59, 60.

[0250] In this case, the remote control server 55 includes the fixedagent 620, which always resides therein and has the monitoring functioninputted in advance so as to control the monitored/controlled targetdevice 56 if there is an abnormality in the monitored/controlled targetdevice 57.

[0251] When the remote control server 55 detects, e.g., an abnormalityof the monitored/controlled target device 57 and controls themonitored/controlled target device 56 as a linked target device,abnormal information of the monitored/controlled target device 57 isfirst detected by the remote control server 55 via the controlcommunication network 60 through the input/output unit 61, whereupon theinformation of the virtual machine 57 a for the monitored/controlledtarget device 57 is changed.

[0252] Upon a change in information of the virtual machine 57 a for themonitored/controlled target device 57, the fixed agent 620 held in theremote control server 55 is started up and operates the inclusivevirtual machine 54Sb, which is held in the remote control server 55 andalways shares information in common with the virtual machine 56 a forthe monitored/controlled target device 56 held in the remote controlserver 54, for the purpose of operating the monitored/controlled targetdevice 56 set as a linkage destination in advance. Upon a change ininformation of the inclusive virtual machine 54Sb held in the remotecontrol server 55, the information of the virtual machine 56 a ischanged because the virtual machine 56 a held in the remote controlserver 54 always shares information in common with the inclusive virtualmachine 54Sb. Correspondingly, the monitored/controlled target device 56is controlled because the virtual machine 56 a always shares informationin common with the monitored/controlled target device 56.

[0253] On the other hand, since the inclusive virtual machines 54Sc,55Sc held in the center server 51 and the inclusive virtual machines54Sd, 55Sd held in the client terminal 52 always respectively shareinformation in common with the virtual machines 56 a, 57 a for themonitored/controlled target devices 56, 57 held in the remote controlservers 54, 55, the result of the linked control is also reflected onthe center server 51 and the client terminal 52.

[0254] Furthermore, the remote control server 54 can monitor and controlthe monitored/controlled target devices, which are connected to theserver 54 via the respective control communication networks, in moreflexible ways based on a comprehensive consideration by referring torecord information and control setting information of the inclusivevirtual machine 55Sb for the remote control server 55 and of theinclusive virtual machine 65Sb for the remote control server 65, whichare called by and held in the server 54 itself. For example, when theremote control server 54 performs scheduled operation of a certaindevice, it is possible to control the scheduled operation with the fixedagent 610 always residing in the server 54 such that, when a currentvalue of the relevant device connected to the server 54 via the controlcommunication network exceeds a threshold and a total current value ofthe remote control servers 54, 55 and 65 also exceeds a threshold, therelevant device can be operated for the remaining time if those currentvalues are each within a limit value, by referring to the inclusivevirtual machines 55Sb, 65Sb called from the remote control servers 55,65 and held in the server 54 and considering the operating time of eachof the devices connected the remote control servers 55, 65 via therespective control communication networks.

[0255] When the number of target devices to be monitored and controlledreaches the order of several tens thousands in practice, as shown, byway of example, in FIG. 12, a remote control server 90 is connected tothe remote control servers 54, 55 and 65 via the WAN and/or LAN 53, andan inclusive virtual machine supervising function 901 for creating asupervising virtual machine to supervise inclusive virtual machines isprepared so as to always reside in the remote control server 90. Withthe virtual machine supervising function 901, the remote control server90 creates a supervising virtual machine for supervising an inclusivevirtual machine 54Se for the remote control server 54, an inclusivevirtual machine 55Se for the remote control server 55, and an inclusivevirtual machine 65Se for the remote control server 65, which are calledby and held in the remote control server 90. The center server 51 andthe client terminal 52 can efficiently share information in common withthe monitored/controlled target devices 56, 561, 562, 57, 571, 572, 650,651 and 652, and can quickly and smoothly control thosemonitored/controlled target devices by calling, holding and operatingsupervising virtual machines 90Tc, 90Td created by the remote controlserver 90. The reason is as follows. For example, the supervisingvirtual machine 90Tc called by and held in the center server 51 sharesinformation in common with the inclusive virtual machine 54Se called byand held in the remote control server 90 from the remote control server54. Then, as described above, the inclusive virtual machine 54Sc sharesinformation in common with the virtual machines 56 a, 561 a and 562 acreated by and held in the remote control servers 55. Those virtualmachines share information in common with the monitored/controlledtarget devices 56, 561 and 562 connected to the remote control server 54via the control communication networks 59, 591 and 592, respectively.The above description is similarly applied to the remote control servers55, 65.

[0256] Further, a description is now made of the case of performinglinked control between devices, in which, for example, themonitored/controlled target device 56 connected to the remote controlserver 54 via the control communication network 59 and themonitored/controlled target device 57 connected to the remote controlserver 55 on the control communication network 60 through theinput/output unit 61 are target devices of the linked control.

[0257] In this case, the setting to perform the linked control betweenwhich devices is previously inputted in the fixed agent residing in eachof the remote control servers.

[0258] For example, when an abnormality occurs in the state of themonitored/controlled target device 57 connected to the remote controlserver 55 through the input/output unit 61, the information of thevirtual machine 57 a is changed which is held in the remote controlserver 55 and always shares information in common with themonitored/controlled target device 57. Upon a change in contents of thevirtual machine 57 a, the contents of the inclusive virtual machine55Se, which is created by the remote control server 55 and is called byand held in the remote control server 90, is also changed because theinclusive virtual machine 55Se always shares information in common withthe virtual machine 57 a held in the remote control server 55.

[0259] Upon a change in contents of the inclusive virtual machine 55Secalled by and held in the remote control server 90, the information ofthe inclusive virtual machine 55Sb, which is created by the remotecontrol server 55 and is called by and held in the remote control server54, is also changed because the inclusive virtual machine 55Sb alwaysshares information in common with the inclusive virtual machine 55Se. Inthe remote control server 54, the fixed agent 610 is started up with achange in contents of the inclusive virtual machine 55Sb, and theinformation of the virtual machine 56 a for the monitored/controlledtarget device 56, i.e., the target device of the linked control, ischanged. Upon a change in contents of the virtual machine 56 a, themonitored/controlled target device 56 is controlled because themonitored/controlled target device 56 always shares information incommon with the virtual machine 56 a.

[0260] Also, in the center server 51 and the client terminal 52, sincethe supervising virtual machine 90Tc created by the remote controlserver 90 and called by and held in the center server 51 and thesupervising virtual machine 90Td created by the remote control server 90and called by and held in the client terminal 52 share information incommon with the inclusive virtual machine 55Se, the contents of thesupervising virtual machines 90Tc, 90Td are also changed upon a changein contents of the inclusive virtual machine 55Se held in the remotecontrol server 90.

[0261] For the contents of control made on the monitored/controlledtarget device 56, the control result is linked because the virtualmachines, the inclusive virtual machines and the supervising virtualmachines held in the remote control servers 54, 55, 65 and 90, thecenter server 51 and the client terminal 52 always share information incommon with each other as described above.

[0262] Furthermore, the linked control between the othermonitored/controlled target devices can be performed through the remotecontrol servers 54, 55 and 65 in a similar manner, and hence a detaileddescription is omitted here.

[0263] If the remote control server 90, for example, should be failed,it is possible to share information and perform the linked controlbetween the remote control servers, and to ensure reliability of thesystem because each of the remote control servers calls and holdstherein the inclusive virtual machines created by the other remotecontrol servers.

INDUSTRIAL APPLICABILITY

[0264] The present invention has the industrial applicability asfollows.

[0265] (1) A virtual machine, which is a software object described asthe other self of a monitored/controlled target device in the center orthe client having the same information as that possessed by themonitored/controlled target device, always shares the same informationas that possessed by the monitored/controlled target device. Therefore,the center or the client can easily monitor and control themonitored/controlled target device in a remote place by changing thevirtual machine held by itself.

[0266] (2) Because the virtual machine can be utilized as a softwarepart in development of software for realizing monitoring/control of thedevice, an advanced monitoring/control system can be constructed withoutknowledge regarding data communications and measurement control.

[0267] (3) Because change of the system, setting of various parameters,etc. can be performed via a network, the frequency of replacement ofdevices and the frequency at which engineers must actually go to sitesare reduced. The maintenance cost is hence cut down.

[0268] (4) Because a control network and an information network can beseamlessly linked with each other and the virtual machines are installedusing the network distributed object technique without positiondependency, it is possible to monitor and control the devices byutilizing the agent technique.

[0269] (5) The number of the monitored/controlled target devices handledby the center server and the client terminal can be greatly increased,and the traffic amount among the many monitored/controlled targetdevices, the remote control servers, the center server, and the clientterminal can be reduced. Consequently, efficient management, monitoringand control can be realized.

[0270] By mounting wireless public telephones such as cellular phones,for example, the server can establish the connection via wireless publiclines even in a district where a wired public line network is notinstalled. Also, since the server has a serial port capable of switchingover the connection to RS232C and allowing an external communicationdevice to be attached to the port, it is possible to increase not only avariety of available means for communication with the outside, but alsoa variety of places in which the server can be installed.

[0271] (6) The server has a communication port for transferring controlsignals and data with respect to the monitored/controlled target deviceand the input/output unit, and can supply electric power to devices,etc. connected to the communication port. Accordingly, electrical wiringfor the monitored/controlled target device can be facilitated.

[0272] (7) Communications can be realized via a wide area communicationnetwork using TCP/IP, for example. Therefore, when the center, etc. arelocated in remote districts, the communication charge can be reduced incomparison with the case of employing the public lines by utilizing theInternet. In addition, access to the remote control sever can be easilyand inexpensively realized from every corners in the world.

[0273] (8) Data can be directly collected from the monitored/controlledtarget device.

[0274] (9) Because the server has a serial port dedicated for setting offunctions and maintenance of the system, the setting of functions andthe maintenance of the system can be performed with ease.

[0275] (10) With the provision of a backup circuit, the system can berestored to the status prior to power-down without losing data in theevent of the power-down. Accordingly, continuity of monitored/controlleddata, etc. can be protected as far as possible.

[0276] (11) When shutdown or the like is externally conducted through asoftware input switch, hardware can be brought into an end after endingthe started-up application, etc. with safety.

[0277] (12) Because of employing the real-time operating system that isadopted in space ships as well, stable monitoring and control of devicescan be performed and reliability of the overall system can be increased.Also, because of having the Java run environment, efficient systemconstruction can be realized with a visual development environment basedon the object oriented programming.

[0278] (13) The system can be constructed even in place or environmentin which it has been impossible to install the system in the past, andhence can be applied in a wider region than a conventional system. Also,since the system can be operated from a mobile medium, the systemmanagement is no longer bound to a stationary place. In the event of anabnormality, a prompt action can be realized, for example, by urgentlycalling a maintenance person.

[0279] (14) It is possible to utilize database in the center server, theclient terminal or an external system, and to handle and process data inan external system. As a result, the accuracy in data analysis can beimproved.

[0280] (16) Because universal digital inputs can be handled with Javaapplications, a wider application region is realized.

[0281] (17) Because operating and abnormal conditions of the system canbe stored, as log messages, in a nonvolatile memory, loss of data can beprotected. Also, because a system alarm message, etc. are sent to asurveillant person via, e.g., E-mails, a prompt action can be achieved.

[0282] (18) Because monitoring and control can be performed by creatingan agent so as to always reside therein, sole operation of the servercan be realized and autonomous monitoring and control can be performedeven when the client terminal or the other center goes down. Also,because there is no necessity of keeping the device connected to thecommunication at all times, the communication charge is cut down.

[0283] (19) The system can be operated to be more finely adaptable foruser's needs, and efficient operation management of the overall systemcan be realized. Finer and more flexible monitoring and control can beperformed while monitoring the status of each of the interconnecteddevices among the remote control servers, and considering recordscollected by the other remote control servers and control settingssynthetically.

1. A system for autonomous decentralized control in which a clientterminal and a center server are connected, as a network through a WANand/or LAN, to a remote control server connected to amonitored/controlled target device through a control communicationnetwork, characterized in that a virtual machine, which is described asthe other self of the monitored/controlled target device having the sameinformation as that possessed by the monitored/controlled target device,and which is a software object having communication protocols used forcommunication with the monitored/controlled target device and concealedin the software object, is moved in the system with transparency and/oris held in the client terminal, the center server, or the remote controlserver.
 2. A system according to claim 1, wherein said remote controlserver is able to create, hold and/or operate a virtual machine which isa software object described as the other self of themonitored/controlled target device having the same information as thatpossessed by the monitored/controlled target device and which contains aplurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or to distribute the virtual machine.
 3. A system according to claim1, wherein said remote control server has functions capable of creating,holding and/or operating a virtual machine which is a software objectdescribed as the other self of the monitored/controlled target devicehaving the same information as that possessed by themonitored/controlled target device and which contains a plurality ofcommunication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or of distributing the virtual machine, and also has a functioncapable of calling, holding and/or operating a virtual machine createdby another remote control server, etc., whereby said remote controlserver is able to change information of the monitored/controlled targetdevice and/or to monitor and control the target device by operating thevirtual machine.
 4. A system according to claim 1, wherein said remotecontrol server has functions capable of creating, holding and/oroperating an inclusive virtual machine including setting of a pluralityof virtual machines and/or a fixed agent describing functions such asbehaviors of each of the virtual machines, and/or including even recordsacquired through each of the virtual machines, and a supervising virtualmachine for supervising a plurality of inclusive virtual machines,and/or distributing the created inclusive and supervising virtualmachines.
 5. A system according to claim 1, wherein said remote controlserver has functions capable of creating, holding, operating and/ordistributing an inclusive virtual machine including setting of aplurality of virtual machines and/or a fixed agent describing functionssuch as behaviors of each of the virtual machines, and/or including evenrecords acquired through each of the virtual machines, and a supervisingvirtual machine for supervising a plurality of inclusive virtualmachines, and/or distributing the created inclusive and supervisingvirtual machines, and wherein said remote control server has functionscapable of calling, holding and/or operating an inclusive virtualmachine and a supervising virtual machine created by another remotecontrol server, etc., whereby said remote control server is able tochange information of each of the plurality of the monitored/controlledtarget devices and/or monitor and control each target device byoperating the inclusive virtual machines and/or the supervising virtualmachines.
 6. A system according to claim 1, wherein said remote controlserver includes a remote station system for causing the fixed agent tobe distributed or to reside, and has monitoring functions capable ofperforming information collection from and monitoring/control of themonitored/controlled target devices, which are connected to the outside,using the virtual machines, and capable of executing processing,computations, etc. of the collected information.
 7. A system accordingto claim 1, wherein said center server is able to create, hold and/oroperate a virtual machine which is a software object described as theother self of each monitored/controlled target device having the sameinformation as that possessed by the monitored/controlled target deviceand which contains a plurality of communication protocols used forcommunication with the monitored/controlled target device and concealedin the software object, and to distribute, to one or more remote controlservers, an agent describing behaviors, etc. of the virtual machineand/or the remote control servers, said center server being furthercapable of creating, holding and/or operating an inclusive virtualmachine including setting a plurality of virtual machines and/or a fixedagent describing functions such as behaviors of each of the virtualmachines, and/or including even records acquired through each of thevirtual machines, and a supervising virtual machine for supervising aplurality of inclusive virtual machines, and/or distributing the createdinclusive and supervising virtual machines, and/or capable of calling,holding and/or operating virtual machines, inclusive virtual machinesand supervising virtual machines created by the remote control servers,whereby said center server is able to change information of each of theplurality of the monitored/controlled target devices and/or to monitorand control each target device by sharing information in common with themonitored/controlled target devices and operating the virtual machines,the inclusive virtual machines and/or the supervising virtual machines,and/or by operating the agent, and to perform management/processing ofcollected data and management of the system through theinformation-changing, monitoring and control operations.
 8. A systemaccording to claim 1, wherein: said center server is able to create,hold and/or operate a virtual machine which is a software objectdescribed as the other self of each monitored/controlled target devicehaving the same information as that possessed by themonitored/controlled target device and which contains a plurality ofcommunication protocols used for communication with themonitored/controlled target device and concealed in the software object,and to distribute, to one or more remote control servers, an agentdescribing behaviors, etc. of the virtual machine and/or the remotecontrol servers, said center server being further capable of creating,holding and/or operating an inclusive virtual machine including settinga plurality of virtual machines and/or a fixed agent describingfunctions such as behaviors of each of the virtual machines, and/orincluding even records acquired through each of the virtual machines,and a supervising virtual machine for supervising a plurality ofinclusive virtual machines, and/or distributing the created inclusiveand supervising virtual machines, and/or capable of calling, holdingand/or operating virtual machines, inclusive virtual machines andsupervising virtual machines created by the remote control servers,whereby said center server is able to change information of each of theplurality of the monitored/controlled target devices and/or to monitorand control each target device by sharing information in common with themonitored/controlled target devices and operating the virtual machines,the inclusive virtual machines and/or the supervising virtual machines,and/or by operating the agent, and to perform management/processing ofcollected data and management of the system through theinformation-changing, monitoring and control operations, and said remotecontrol server has functions capable of creating, holding and/oroperating a virtual machine which is a software object described as theother self of the monitored/controlled target device having the sameinformation as that possessed by the monitored/controlled target deviceand which contains a plurality of communication protocols used forcommunication with the monitored/controlled target device and concealedin the software object, and/or distributing the virtual machine, andalso has functions capable of creating, holding, and/or operating aninclusive virtual machine including setting of a plurality of virtualmachines and/or a fixed agent describing functions such as behaviors ofeach of the virtual machines, and/or including even records acquiredthrough each of the virtual machines, and a supervising virtual machinefor supervising a plurality of inclusive virtual machines, and/ordistributing the created inclusive and supervising virtual machines,said remote control server further having functions capable of calling,holding and/or operating a virtual machine, an inclusive virtual machineand a supervising virtual machine created by another remote controlserver, etc., whereby said remote control server is able to changeinformation of each of the plurality of the monitored/controlled targetdevices and/or monitor and control each target device by operating thevirtual machines, the inclusive virtual machines and/or the supervisingvirtual machines, said remote control server including a remote stationsystem for causing the fixed agent to be distributed or to reside, andhaving monitoring functions capable of performing information collectionfrom and monitoring/control of the monitored/controlled target devices,which are connected to the outside, using the virtual machines, andcapable of executing processing, computations, etc. of the collectedinformation.